#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sgm.h"
/**
 * 通过阻值计算:看门口复位周期在512S左右
 * 这要求我们至少在512S内发送一次脉冲，防止芯片重启
 */

void sgm_task(void *arg)
{
    while (1) 
    {
        //发送脉冲:低电平持续500ms，高电平持续500ms
        BSP_GPIO_SGM_SET(BSP_GPIO_SGM, 1);
        vTaskDelay(500 / portTICK_PERIOD_MS);
        BSP_GPIO_SGM_SET(BSP_GPIO_SGM, 0);
        vTaskDelay(500 / portTICK_PERIOD_MS);
    }
}


void sgm_app_main(void)
{
    //初始化IO输出
    BSP_GPIO_SGM_INIT(BSP_GPIO_SGM);
    //设置IO输出为低电平
    BSP_GPIO_SGM_SET(BSP_GPIO_SGM, 0);
    //创建任务
    xTaskCreate(sgm_task, "sgm_task", 2048, NULL, 1, NULL);
}